﻿using NExt.Core.Model.Base;

namespace NExt
{
    public class TabPanel: TabPanel<TabPanelEvents>
    {
    }

    public abstract class TabPanel<TEvents>: Panel<TEvents>
        where TEvents : TabPanelEvents, new()
    {
        public int? activeTab { get; set; }
        public bool? animScroll { get; set; }
        public string autoTabSelector { get; set; }
        public bool? autoTabs { get; set; }
        public bool? deferredRender { get; set; }
        public bool? enableTabScroll { get; set; }
        public bool? layoutOnTabChange { get; set; }
        public int? minTabWidth { get; set; }
        public bool? plain { get; set; }
        public bool? resizeTabs { get; set; }
        public decimal? scrollDuration { get; set; }
        public int? scrollIncrement { get; set; }
        public int? scrollRepeatInterval { get; set; }
        public string tabCls { get; set; }
        public int? tabMargin { get; set; }
        public string tabPosition { get; set; }
        public int? tabWidth { get; set; }
        public int? wheelIncrement { get; set; }
    }

    public class TabPanelEvents : PanelEvents
    {
        public IScript beforetabchange { get; set; }
        public IScript contextmenu { get; set; }
        public IScript tabchange { get; set; }
    }
}
